1. Field of the Invention
The present invention relates to a specification operating method and computer product for operating specifications in designing hardware, software, and a system including both of them in a computer or electronic information device.
2. Description of the Related Art
Conventionally, the structure or format of a specification is fixed in advance for each design analysis method, and systems are analyzed and designed with suitable different structures in accordance with different targets and purposes. According to an object-oriented software design methodology typified by UML, although a unified format for design is defined, analysis/design methods to be actually used differ for the respective domains, and the structures of specifications and the respective format elements differ in meaning. Therefore, design resources cannot be mutually used for the respective domains. Note that UML is described in detail in, for example, Hans-Eriksson/Magnus Penker, “UML Guidebook”, complied/translated by Norio Sugimoto, Osamu Ochiai, and Tamiko Takeda, ISBN4-8101-8987-2.
Assume that a specification needs to be changed because of a change in external environment. In this case, even if the specification is partly corrected, its effective range cannot be estimated. For this reason, the specification must be remade from the beginning. This applies to a design/development process for a single product. For example, when a specification for a prototype is to be created for one product by using the rapid prototyping technique, the specification must be remade in detailed design in accordance with implementation constraints. For example, in a rapid prototyping tool (Rapid), C-language codes are created from a created prototype. However, the codes are not optimized for embedment, and hence must be remade. Note that Rapid is described in detail in, for example, “Rapid-plus, White Paper”, http://www.e-sim.com/pdf/whtpaper.pdf as a reference for Rapid.
For example, in remaking a specification for an embedment system constituted by a combination hardware (LSI) and software which serve as an overall system, the specification created for the overall system is remade as independent specifications for hardware and software, respectively, after assignment of hardware and software roles are determined.
Recently, system-level specification description languages independent of hardware and software have been developed. This has improved an environment under which specification description can be performed in the same specification format so as to segment a system-level specification into specifications for software and hardware. Design methodologies have been proposed with the development of these languages. Although these methodologies indicate a process of deriving design specifications for software and hardware from a system-level specification in a top-down manner, external requests cannot cover specification operation for changing the structure of the specification while maintaining the contents of the specification in response to a specification change request due to a change in resource constraint.
According to language compilers for software and language conversion tools typified by gcc, the format of a given specification can be converted into the format of another specification. In this case, specifications having the same contents and same structure are only converted into different formats. That is, every time a specification is changed, the format must be converted into a corresponding one. Note that gcc is described in detail in, for example, “GNU's not Unix”, http//www.gnu.org/.
As described above, there is no mechanism of facilitating a change in structure in accordance with external requirements such as a resource constraint, performance, and reliability while holding the contents of the specification. In addition, in automating a change in specification, since there are infinite number of combinations of the internal specifications of specifications depending on the target and fields, it is impossible to create commands corresponding to all specification changes in advance.